<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise.race示例</title>
</head>
<body>

</body>
<script>
// race() 将多个promise实例包装成一个新的promise对象
// 如果多个实例状态都为fulfilled，那么优先执行第一个为fulfilled实例
// 如果实例中存在rejected状态，只要有fulfilled存在，就一定会走.then
let promise1 = new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve(1000)
    }, 1000)
})
let promise2 = new Promise((resolve, reject) => {
    setTimeout(() => {
        resolve('hello')
    }, 1000)
})
let promise3 = new Promise((resolve, reject) => {
    setTimeout(() => {
        reject('promise3失败了')
    }, 1000)
})
let promise4 = Promise.race([promise1, promise2, promise3])
.then((res) => {
    console.log(res);
})
.catch((err) => {
    console.log(err)
})
</script>
</html>